package cn.iocoder.yudao.module.planet.service;


import cn.iocoder.yudao.module.planet.controller.app.dto.PlanetCreateReqDTO;
import cn.iocoder.yudao.module.planet.controller.app.dto.PlanetDTO;
import cn.iocoder.yudao.module.planet.controller.app.dto.PlanetUpdateReqDTO;
import jakarta.validation.Valid;
import java.util.List;

/**
 * 星球服务的 API 接口
 * 
 * @author 系统生成
 */
public interface PlanetService {

    /**
     * 创建星球
     * 
     * @param createReqDTO 创建请求
     * @return 星球ID
     */
    Long createPlanet(@Valid PlanetCreateReqDTO createReqDTO);

    /**
     * 更新星球
     * 
     * @param updateReqDTO 更新请求
     */
    void updatePlanet(@Valid PlanetUpdateReqDTO updateReqDTO);

    /**
     * 删除星球
     * 
     * @param id 星球ID
     */
    void deletePlanet(Long id);

    /**
     * 获取星球详情
     * 
     * @param id 星球ID
     * @return 星球详情
     */
    PlanetDTO getPlanet(Long id);

    /**
     * 根据租户ID获取星球列表
     * 
     * @param tenantId 租户ID
     * @return 星球列表
     */
    List<PlanetDTO> getPlanetListByTenantId(Long tenantId);

}